package generic;

/**
 * 泛型类
 * Test
 *泛型主要用于编译阶段，编译后生成的字节码 class 文件不包含泛型中的类型信息。
 * 类 型参数在编译后会被替换成 Object，运行时虚拟机并不知道泛型。因此，使用
 * 泛型时，如下 几种情况是错误的：
 * 1. 基本类型不能用于泛型。
 * Test<int> t; 这样写法是错误，我们可以使用对应的包装类；Test<Integer> t ;
 * 2. 不能通过类型参数创建对象。
 * T elm = new T(); 运行时类型参数 T 会被替换成 Object，无法创建 T 类型的对象，
 * 容易引起误解，所以在 Java 中不支持这种写法。
 */
public class Generic<T> {
    private T flag;

    public void setFlag(T flag){
        this.flag = flag;
    }

    public T getFlag(){
        return this.flag;
    }
}
